[INFO] fetching crate tokactor 2.1.0...
[INFO] fixing tokactor-2.1.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate tokactor 2.1.0 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate tokactor 2.1.0
[INFO] finished tweaking crates.io crate tokactor 2.1.0
[INFO] tweaked toml for crates.io crate tokactor 2.1.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tokactor 2.1.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tokactor 2.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c78820a80a2a053a01513d2c2f6cb0606ffb28a017099f4475bcc8d9fe0fe71c
[INFO] running `Command { std: "docker" "start" "c78820a80a2a053a01513d2c2f6cb0606ffb28a017099f4475bcc8d9fe0fe71c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c78820a80a2a053a01513d2c2f6cb0606ffb28a017099f4475bcc8d9fe0fe71c" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c78820a80a2a053a01513d2c2f6cb0606ffb28a017099f4475bcc8d9fe0fe71c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c78820a80a2a053a01513d2c2f6cb0606ffb28a017099f4475bcc8d9fe0fe71c" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]     Checking pin-project-lite v0.2.10
[INFO] [stderr]    Compiling serde v1.0.180
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling serde_derive v1.0.180
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]     Checking tracing-core v0.1.31
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling tokio v1.29.1
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling serde_json v1.0.104
[INFO] [stderr]     Checking futures-sink v0.3.28
[INFO] [stderr]    Compiling rustix v0.38.6
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]     Checking clap_lex v0.5.0
[INFO] [stderr]     Checking anstyle v1.0.1
[INFO] [stderr]     Checking ciborium-io v0.2.1
[INFO] [stderr]     Checking half v1.8.2
[INFO] [stderr]     Checking linux-raw-sys v0.4.5
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking bitflags v2.3.3
[INFO] [stderr]     Checking regex-syntax v0.7.4
[INFO] [stderr]     Checking clap_builder v4.3.19
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]     Checking walkdir v2.3.3
[INFO] [stderr]     Checking sharded-slab v0.1.4
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking tracing-log v0.1.3
[INFO] [stderr]     Checking ciborium-ll v0.2.1
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking http v0.2.9
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking parking_lot_core v0.9.8
[INFO] [stderr]     Checking mio v0.8.8
[INFO] [stderr]     Checking socket2 v0.4.9
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.17
[INFO] [stderr]    Compiling syn v2.0.28
[INFO] [stderr]     Checking rayon-core v1.11.0
[INFO] [stderr]     Checking regex-automata v0.3.4
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking rayon v1.7.0
[INFO] [stderr]     Checking clap v4.3.19
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking futures v0.3.28
[INFO] [stderr]     Checking regex v1.9.1
[INFO] [stderr]     Checking ciborium v0.2.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.26
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking tokactor v2.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/context.rs (1 fix)
[INFO] [stderr]        Fixed src/io/mod.rs (1 fix)
[INFO] [stderr]        Fixed src/single/address.rs (5 fixes)
[INFO] [stderr]        Fixed src/address.rs (3 fixes)
[INFO] [stderr]        Fixed src/executor.rs (1 fix)
[INFO] [stderr]        Fixed src/io/tcp.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor.rs:73:27
[INFO] [stdout]      |
[INFO] [stdout]   72 |         let mut this = executor.shutdown().await;
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `this` calls a custom destructor
[INFO] [stdout]      |             `this` will be dropped later as of Edition 2024
[INFO] [stdout]   73 |         if let Some(tx) = this.context.into_future_sender.take() {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   76 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]      |
[INFO] [stdout]  843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:769:1
[INFO] [stdout]      |
[INFO] [stdout]  769 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]      |
[INFO] [stdout]  843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:1145:1
[INFO] [stdout]      |
[INFO] [stdout] 1145 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1
[INFO] [stdout]      |
[INFO] [stdout]  341 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1
[INFO] [stdout]      |
[INFO] [stdout]  205 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor.rs:237:31
[INFO] [stdout]      |
[INFO] [stdout]  237 |         while let Some(msg) = self.context.mailbox.recv().await {
[INFO] [stdout]      |                        ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                        |      |                           |
[INFO] [stdout]      |                        |      |                           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                        |      |                           up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |      |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |      |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        |      this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                        |      up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |      `__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        `msg` calls a custom destructor
[INFO] [stdout]      |                        `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  238 |             self.check_anonymous_actors().await;
[INFO] [stdout]      |             -----------------------------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  239 |             let (this, event) = self.process_message(msg).await;
[INFO] [stdout]      |                                 -------------------------------
[INFO] [stdout]      |                                 |                         |
[INFO] [stdout]      |                                 |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                 |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  245 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:769:1
[INFO] [stdout]      |
[INFO] [stdout]  769 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]      |
[INFO] [stdout]  843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:1145:1
[INFO] [stdout]      |
[INFO] [stdout] 1145 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1
[INFO] [stdout]      |
[INFO] [stdout]  341 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1
[INFO] [stdout]      |
[INFO] [stdout]  205 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:769:1
[INFO] [stdout]      |
[INFO] [stdout]  769 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]      |
[INFO] [stdout]  843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:1145:1
[INFO] [stdout]      |
[INFO] [stdout] 1145 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1
[INFO] [stdout]      |
[INFO] [stdout]  341 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1
[INFO] [stdout]      |
[INFO] [stdout]  205 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor.rs:247:27
[INFO] [stdout]      |
[INFO] [stdout]  246 |         let mut this = self.shutdown().await;
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `this` calls a custom destructor
[INFO] [stdout]      |             `this` will be dropped later as of Edition 2024
[INFO] [stdout]  247 |         if let Some(tx) = this.context.into_future_sender.take() {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  250 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]      |
[INFO] [stdout]  843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:769:1
[INFO] [stdout]      |
[INFO] [stdout]  769 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]      |
[INFO] [stdout]  843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:1145:1
[INFO] [stdout]      |
[INFO] [stdout] 1145 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1
[INFO] [stdout]      |
[INFO] [stdout]  341 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1
[INFO] [stdout]      |
[INFO] [stdout]  205 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor.rs:442:29
[INFO] [stdout]      |
[INFO] [stdout]  442 |         while let Ok(msg) = self.context.mailbox.try_recv() {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  443 |             let (this, _) = self.process_message(msg).await;
[INFO] [stdout]      |                             -------------------------------
[INFO] [stdout]      |                             |                         |
[INFO] [stdout]      |                             |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             `__awaitee` calls a custom destructor
[INFO] [stdout]      |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  444 |             self = this;
[INFO] [stdout]  445 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:769:1
[INFO] [stdout]      |
[INFO] [stdout]  769 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]      |
[INFO] [stdout]  843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:1145:1
[INFO] [stdout]      |
[INFO] [stdout] 1145 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1
[INFO] [stdout]      |
[INFO] [stdout]  341 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1
[INFO] [stdout]      |
[INFO] [stdout]  205 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:769:1
[INFO] [stdout]      |
[INFO] [stdout]  769 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]      |
[INFO] [stdout]  843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:1145:1
[INFO] [stdout]      |
[INFO] [stdout] 1145 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:341:1
[INFO] [stdout]      |
[INFO] [stdout]  341 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/mpsc/chan.rs:205:1
[INFO] [stdout]      |
[INFO] [stdout]  205 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor.rs:478:31
[INFO] [stdout]      |
[INFO] [stdout]  464 |               let event = tokio::select! {
[INFO] [stdout]      |  _________________________-
[INFO] [stdout]  465 | |                 // Or recieve a message from our supervisor
[INFO] [stdout]  466 | |                 result = reciever.changed() => match result {
[INFO] [stdout]  467 | |                     Ok(_) => match *reciever.borrow() {
[INFO] [stdout]      | |                                     -----------------
[INFO] [stdout]      | |                                     |
[INFO] [stdout]      | |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  476 | |                 option = rx.recv() => {
[INFO] [stdout]      | |                 ------
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `option` calls a custom destructor
[INFO] [stdout]      | |                 `option` will be dropped later as of Edition 2024
[INFO] [stdout]  477 | |                     if let Some(message) = option {
[INFO] [stdout]  478 | |                         match parent.send_async(message).await { Err(err) => {
[INFO] [stdout]      | |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----       ---
[INFO] [stdout]      | |                               |                          |           |
[INFO] [stdout]      | |                               |                          |           `err` calls a custom destructor
[INFO] [stdout]      | |                               |                          |           `err` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               |                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                               |                          up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                               |                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                               |                          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                               `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  487 | |                     } else {
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  491 | |             };
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |             `output` calls a custom destructor
[INFO] [stdout]      | |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures` calls a custom destructor
[INFO] [stdout]      | |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.10/src/rwlock.rs:1331:1
[INFO] [stdout]      |
[INFO] [stdout] 1331 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/io/mod.rs:124:15
[INFO] [stdout]      |
[INFO] [stdout]  123 |         let (tx, rx) = oneshot::channel();
[INFO] [stdout]      |                  --
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `rx` calls a custom destructor
[INFO] [stdout]      |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout]  124 |         match self.inner.send((data, tx)).await { Err(err) => {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                           |
[INFO] [stdout]      |               |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  132 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:1071:1
[INFO] [stdout]      |
[INFO] [stdout] 1071 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/io/mod.rs:124:43
[INFO] [stdout]      |
[INFO] [stdout]  123 |         let (tx, rx) = oneshot::channel();
[INFO] [stdout]      |                  --
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `rx` calls a custom destructor
[INFO] [stdout]      |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout]  124 |         match self.inner.send((data, tx)).await { Err(err) => {
[INFO] [stdout]      |                                           ^^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  132 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:1071:1
[INFO] [stdout]      |
[INFO] [stdout] 1071 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/io/mod.rs:188:43
[INFO] [stdout]     |
[INFO] [stdout] 176 |           let (mut frame, sender) =
[INFO] [stdout]     |                ---------  ------
[INFO] [stdout]     |                |          |
[INFO] [stdout]     |                |          `sender` calls a custom destructor
[INFO] [stdout]     |                |          `sender` will be dropped later as of Edition 2024
[INFO] [stdout]     |                `frame` calls a custom destructor
[INFO] [stdout]     |                `frame` will be dropped later as of Edition 2024
[INFO] [stdout] 177 |               match supervisor(&mut parent_rx, pending::<()>(), reader_rx.recv()).await {
[INFO] [stdout]     |               -     -------------------------------------------------------------------
[INFO] [stdout]     |               |     |                                                             |
[INFO] [stdout]     |               |     |                                                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               |     |                                                             `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |               |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               |     `__awaitee` calls a custom destructor
[INFO] [stdout]     |  _____________|     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |
[INFO] [stdout] 178 | |                 Supervise::Success(Some(output)) => output,
[INFO] [stdout] 179 | |                 Supervise::Continue => continue,
[INFO] [stdout] 180 | |                 Supervise::Success(None) | Supervise::Dead | Supervise::Shutdown => break,
[INFO] [stdout] 181 | |             };
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 182 |
[INFO] [stdout] 183 |           let mut payload = Payload::default();
[INFO] [stdout]     |               -----------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `payload` calls a custom destructor
[INFO] [stdout]     |               `payload` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 186 |               match supervisor(&mut parent_rx, pending::<()>(), frame.read(&mut source)).await {
[INFO] [stdout]     |                     --------------------------------------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 187 |                   Supervise::Success(Ok(Some(_))) => {
[INFO] [stdout] 188 |                       if let Some(object) = payload.recv(&frame) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                             up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 189 |                           let _ = sender.send(Ok(object));
[INFO] [stdout]     |                                   -----------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 192 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]     |
[INFO] [stdout] 843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/single/address.rs:62:15
[INFO] [stdout]      |
[INFO] [stdout]   61 |         let (tx, rx) = oneshot::channel();
[INFO] [stdout]      |                  --
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `rx` calls a custom destructor
[INFO] [stdout]      |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout]   62 |         match self.inner.send((message, tx)).await { Err(err) => {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                              |
[INFO] [stdout]      |               |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   73 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:1071:1
[INFO] [stdout]      |
[INFO] [stdout] 1071 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/single/address.rs:62:46
[INFO] [stdout]      |
[INFO] [stdout]   61 |         let (tx, rx) = oneshot::channel();
[INFO] [stdout]      |                  --
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `rx` calls a custom destructor
[INFO] [stdout]      |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout]   62 |         match self.inner.send((message, tx)).await { Err(err) => {
[INFO] [stdout]      |                                              ^^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   73 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:1071:1
[INFO] [stdout]      |
[INFO] [stdout] 1071 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/single/address.rs:88:15
[INFO] [stdout]      |
[INFO] [stdout]   87 |         let (tx, rx) = oneshot::channel();
[INFO] [stdout]      |                  --
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `rx` calls a custom destructor
[INFO] [stdout]      |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout]   88 |         match self.inner.send((message, tx)).await { Err(err) => {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                              |
[INFO] [stdout]      |               |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   99 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:1071:1
[INFO] [stdout]      |
[INFO] [stdout] 1071 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/single/address.rs:88:46
[INFO] [stdout]      |
[INFO] [stdout]   87 |         let (tx, rx) = oneshot::channel();
[INFO] [stdout]      |                  --
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `rx` calls a custom destructor
[INFO] [stdout]      |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout]   88 |         match self.inner.send((message, tx)).await { Err(err) => {
[INFO] [stdout]      |                                              ^^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   99 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:1071:1
[INFO] [stdout]      |
[INFO] [stdout] 1071 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/context.rs:381:34
[INFO] [stdout]     |
[INFO] [stdout] 380 |             let _permit = permit;
[INFO] [stdout]     |                 -------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `_permit` calls a custom destructor
[INFO] [stdout]     |                 `_permit` will be dropped later as of Edition 2024
[INFO] [stdout] 381 |             actor.handle(future).await
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 382 |         });
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_permit` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/semaphore.rs:692:1
[INFO] [stdout]     |
[INFO] [stdout] 692 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/utils/router.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...                       match address.async_ask(retry_message).await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |                                |
[INFO] [stdout]     |                                 |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |                                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 114 | ...                   }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/world/mod.rs:72:43
[INFO] [stdout]    |
[INFO] [stdout] 72 | ...                       match reader.read().await {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                                 |             |
[INFO] [stdout]    |                                 |             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                                 |             up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                                 up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]    |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 73 | ...                           Ok(Some(payload)) => {
[INFO] [stdout] 74 | ...                               let _ = connection.async_ask(payload).await;
[INFO] [stdout]    |                                           -----------------------------------
[INFO] [stdout]    |                                           |                             |
[INFO] [stdout]    |                                           |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                                           |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 86 | ...                   }
[INFO] [stdout]    |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl io::Component` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/world/mod.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/world/mod.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         &self,
[INFO] [stdout]    |         ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/world/mod.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |         address: impl ToSocketAddrs,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 51 |         actor: impl Actor + Ask<TcpRequest, Result = A>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 48 ~     pub fn tcp_component<A, O, T: ToSocketAddrs, U: Actor + Ask<TcpRequest, Result = A>>(
[INFO] [stdout] 49 |         &self,
[INFO] [stdout] 50 ~         address: T,
[INFO] [stdout] 51 ~         actor: U,
[INFO] [stdout] 52 ~     ) -> std::io::Result<impl Component + use<A, O, T, U>>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/stateful_tcp_world.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/http_world.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/mod.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/ping.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/multi_tcp_world.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/ping-pong.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/tcp_world.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/wait_for_graceful_exit.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/max_anonymous_actors.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/context.rs (1 fix)
[INFO] [stderr]    Migrating examples/add.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/executor.rs:73:27
[INFO] [stdout]     |
[INFO] [stdout]  72 |         let mut this = executor.shutdown().await;
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `this` calls a custom destructor
[INFO] [stdout]     |             `this` will be dropped later as of Edition 2024
[INFO] [stdout]  73 |         if let Some(tx) = this.context.into_future_sender.take() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  76 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]     |
[INFO] [stdout] 843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:769:1
[INFO] [stdout]     |
[INFO] [stdout] 769 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]    --> src/context.rs:435:1
[INFO] [stdout]     |
[INFO] [stdout] 435 | impl<A: Actor> Drop for Ctx<A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/executor.rs:237:31
[INFO] [stdout]     |
[INFO] [stdout] 237 |         while let Some(msg) = self.context.mailbox.recv().await {
[INFO] [stdout]     |                        ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |      |                           |
[INFO] [stdout]     |                        |      |                           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                        |      |                           up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |      |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |      |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |      this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                        |      up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `msg` calls a custom destructor
[INFO] [stdout]     |                        `msg` will be dropped later as of Edition 2024
[INFO] [stdout] 238 |             self.check_anonymous_actors().await;
[INFO] [stdout]     |             -----------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 239 |             let (this, event) = self.process_message(msg).await;
[INFO] [stdout]     |                                 -------------------------------
[INFO] [stdout]     |                                 |                         |
[INFO] [stdout]     |                                 |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                 |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 245 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `msg` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:769:1
[INFO] [stdout]     |
[INFO] [stdout] 769 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/context.rs:435:1
[INFO] [stdout]     |
[INFO] [stdout] 435 | impl<A: Actor> Drop for Ctx<A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:769:1
[INFO] [stdout]     |
[INFO] [stdout] 769 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/context.rs:435:1
[INFO] [stdout]     |
[INFO] [stdout] 435 | impl<A: Actor> Drop for Ctx<A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/executor.rs:247:27
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut this = self.shutdown().await;
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `this` calls a custom destructor
[INFO] [stdout]     |             `this` will be dropped later as of Edition 2024
[INFO] [stdout] 247 |         if let Some(tx) = this.context.into_future_sender.take() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 250 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]     |
[INFO] [stdout] 843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:769:1
[INFO] [stdout]     |
[INFO] [stdout] 769 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `this` invokes this custom destructor
[INFO] [stdout]    --> src/context.rs:435:1
[INFO] [stdout]     |
[INFO] [stdout] 435 | impl<A: Actor> Drop for Ctx<A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/executor.rs:442:29
[INFO] [stdout]     |
[INFO] [stdout] 442 |         while let Ok(msg) = self.context.mailbox.try_recv() {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 443 |             let (this, _) = self.process_message(msg).await;
[INFO] [stdout]     |                             -------------------------------
[INFO] [stdout]     |                             |                         |
[INFO] [stdout]     |                             |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             `__awaitee` calls a custom destructor
[INFO] [stdout]     |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 444 |             self = this;
[INFO] [stdout] 445 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:769:1
[INFO] [stdout]     |
[INFO] [stdout] 769 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/context.rs:435:1
[INFO] [stdout]     |
[INFO] [stdout] 435 | impl<A: Actor> Drop for Ctx<A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/watch.rs:769:1
[INFO] [stdout]     |
[INFO] [stdout] 769 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/context.rs:435:1
[INFO] [stdout]     |
[INFO] [stdout] 435 | impl<A: Actor> Drop for Ctx<A> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/executor.rs:478:31
[INFO] [stdout]      |
[INFO] [stdout]  464 |               let event = tokio::select! {
[INFO] [stdout]      |  _________________________-
[INFO] [stdout]  465 | |                 // Or recieve a message from our supervisor
[INFO] [stdout]  466 | |                 result = reciever.changed() => match result {
[INFO] [stdout]  467 | |                     Ok(_) => match *reciever.borrow() {
[INFO] [stdout]      | |                                     -----------------
[INFO] [stdout]      | |                                     |
[INFO] [stdout]      | |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  476 | |                 option = rx.recv() => {
[INFO] [stdout]      | |                 ------
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `option` calls a custom destructor
[INFO] [stdout]      | |                 `option` will be dropped later as of Edition 2024
[INFO] [stdout]  477 | |                     if let Some(message) = option {
[INFO] [stdout]  478 | |                         match parent.send_async(message).await { Err(err) => {
[INFO] [stdout]      | |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----       ---
[INFO] [stdout]      | |                               |                          |           |
[INFO] [stdout]      | |                               |                          |           `err` calls a custom destructor
[INFO] [stdout]      | |                               |                          |           `err` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               |                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                               |                          up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                               |                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                               |                          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                               `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  487 | |                     } else {
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  491 | |             };
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |             `output` calls a custom destructor
[INFO] [stdout]      | |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures` calls a custom destructor
[INFO] [stdout]      | |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.10/src/rwlock.rs:1331:1
[INFO] [stdout]      |
[INFO] [stdout] 1331 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/io/mod.rs:124:15
[INFO] [stdout]      |
[INFO] [stdout]  123 |         let (tx, rx) = oneshot::channel();
[INFO] [stdout]      |                  --
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `rx` calls a custom destructor
[INFO] [stdout]      |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout]  124 |         match self.inner.send((data, tx)).await { Err(err) => {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                           |
[INFO] [stdout]      |               |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  132 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:1071:1
[INFO] [stdout]      |
[INFO] [stdout] 1071 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/io/mod.rs:124:43
[INFO] [stdout]      |
[INFO] [stdout]  123 |         let (tx, rx) = oneshot::channel();
[INFO] [stdout]      |                  --
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `rx` calls a custom destructor
[INFO] [stdout]      |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout]  124 |         match self.inner.send((data, tx)).await { Err(err) => {
[INFO] [stdout]      |                                           ^^^^^
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  132 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:1071:1
[INFO] [stdout]      |
[INFO] [stdout] 1071 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/io/mod.rs:188:43
[INFO] [stdout]     |
[INFO] [stdout] 176 |           let (mut frame, sender) =
[INFO] [stdout]     |                ---------  ------
[INFO] [stdout]     |                |          |
[INFO] [stdout]     |                |          `sender` calls a custom destructor
[INFO] [stdout]     |                |          `sender` will be dropped later as of Edition 2024
[INFO] [stdout]     |                `frame` calls a custom destructor
[INFO] [stdout]     |                `frame` will be dropped later as of Edition 2024
[INFO] [stdout] 177 |               match supervisor(&mut parent_rx, pending::<()>(), reader_rx.recv()).await {
[INFO] [stdout]     |               -     -------------------------------------------------------------------
[INFO] [stdout]     |               |     |                                                             |
[INFO] [stdout]     |               |     |                                                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               |     |                                                             `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |               |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               |     `__awaitee` calls a custom destructor
[INFO] [stdout]     |  _____________|     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |
[INFO] [stdout] 178 | |                 Supervise::Success(Some(output)) => output,
[INFO] [stdout] 179 | |                 Supervise::Continue => continue,
[INFO] [stdout] 180 | |                 Supervise::Success(None) | Supervise::Dead | Supervise::Shutdown => break,
[INFO] [stdout] 181 | |             };
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 182 |
[INFO] [stdout] 183 |           let mut payload = Payload::default();
[INFO] [stdout]     |               -----------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `payload` calls a custom destructor
[INFO] [stdout]     |               `payload` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 186 |               match supervisor(&mut parent_rx, pending::<()>(), frame.read(&mut source)).await {
[INFO] [stdout]     |                     --------------------------------------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 187 |                   Supervise::Success(Ok(Some(_))) => {
[INFO] [stdout] 188 |                       if let Some(object) = payload.recv(&frame) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                             up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 189 |                           let _ = sender.send(Ok(object));
[INFO] [stdout]     |                                   -----------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 192 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:843:1
[INFO] [stdout]     |
[INFO] [stdout] 843 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/single/address.rs:62:15
[INFO] [stdout]      |
[INFO] [stdout]   61 |         let (tx, rx) = oneshot::channel();
[INFO] [stdout]      |                  --
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `rx` calls a custom destructor
[INFO] [stdout]      |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout]   62 |         match self.inner.send((message, tx)).await { Err(err) => {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                              |
[INFO] [stdout]      |               |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   73 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:1071:1
[INFO] [stdout]      |
[INFO] [stdout] 1071 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/single/address.rs:62:46
[INFO] [stdout]      |
[INFO] [stdout]   61 |         let (tx, rx) = oneshot::channel();
[INFO] [stdout]      |                  --
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `rx` calls a custom destructor
[INFO] [stdout]      |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout]   62 |         match self.inner.send((message, tx)).await { Err(err) => {
[INFO] [stdout]      |                                              ^^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   73 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:1071:1
[INFO] [stdout]      |
[INFO] [stdout] 1071 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/single/address.rs:88:15
[INFO] [stdout]      |
[INFO] [stdout]   87 |         let (tx, rx) = oneshot::channel();
[INFO] [stdout]      |                  --
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `rx` calls a custom destructor
[INFO] [stdout]      |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout]   88 |         match self.inner.send((message, tx)).await { Err(err) => {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                              |
[INFO] [stdout]      |               |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   99 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:1071:1
[INFO] [stdout]      |
[INFO] [stdout] 1071 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/single/address.rs:88:46
[INFO] [stdout]      |
[INFO] [stdout]   87 |         let (tx, rx) = oneshot::channel();
[INFO] [stdout]      |                  --
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  `rx` calls a custom destructor
[INFO] [stdout]      |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout]   88 |         match self.inner.send((message, tx)).await { Err(err) => {
[INFO] [stdout]      |                                              ^^^^^
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   99 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/oneshot.rs:1071:1
[INFO] [stdout]      |
[INFO] [stdout] 1071 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/context.rs:381:34
[INFO] [stdout]     |
[INFO] [stdout] 380 |             let _permit = permit;
[INFO] [stdout]     |                 -------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `_permit` calls a custom destructor
[INFO] [stdout]     |                 `_permit` will be dropped later as of Edition 2024
[INFO] [stdout] 381 |             actor.handle(future).await
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 382 |         });
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `_permit` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.29.1/src/sync/semaphore.rs:692:1
[INFO] [stdout]     |
[INFO] [stdout] 692 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/utils/router.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...                       match address.async_ask(retry_message).await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |                                |
[INFO] [stdout]     |                                 |                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |                                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 114 | ...                   }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/world/mod.rs:72:43
[INFO] [stdout]    |
[INFO] [stdout] 72 | ...                       match reader.read().await {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                                 |             |
[INFO] [stdout]    |                                 |             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                                 |             up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                                 |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                 |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                                 up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]    |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 73 | ...                           Ok(Some(payload)) => {
[INFO] [stdout] 74 | ...                               let _ = connection.async_ask(payload).await;
[INFO] [stdout]    |                                           -----------------------------------
[INFO] [stdout]    |                                           |                             |
[INFO] [stdout]    |                                           |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                                           |                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    |                                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 86 | ...                   }
[INFO] [stdout]    |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl io::Component` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/world/mod.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/world/mod.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         &self,
[INFO] [stdout]    |         ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/world/mod.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |         address: impl ToSocketAddrs,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 51 |         actor: impl Actor + Ask<TcpRequest, Result = A>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 48 ~     pub fn tcp_component<A, O, T: ToSocketAddrs, U: Actor + Ask<TcpRequest, Result = A>>(
[INFO] [stdout] 49 |         &self,
[INFO] [stdout] 50 ~         address: T,
[INFO] [stdout] 51 ~         actor: U,
[INFO] [stdout] 52 ~     ) -> std::io::Result<impl Component + use<A, O, T, U>>
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating benches/actor.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.58s
[INFO] [stderr] crater-edition-check: tokactor v2.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking tokactor v2.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `AnonymousActor` is never constructed
[INFO] [stdout]  --> src/anonymous.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AnonymousActor<In: Message, Out: Message, F: Fn(In) -> Out> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IntoNestedTuple` is never used
[INFO] [stdout]  --> src/single/tuple.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait IntoNestedTuple<Inner> {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Chained` is never constructed
[INFO] [stdout]   --> src/utils/workflow/mod.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct Chained<A, B> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `world` does not live long enough
[INFO] [stdout]   --> examples/tcp_world.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut world = World::new().unwrap();
[INFO] [stdout]    |         --------- binding `world` declared here
[INFO] [stdout] 65 |
[INFO] [stdout] 66 |     let tcp_input = world
[INFO] [stdout]    |                     ^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 70 |     world.on_input(tcp_input);
[INFO] [stdout]    |     ------------------------- argument requires that `world` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 75 | }
[INFO] [stdout]    | - `world` dropped here while still borrowed
[INFO] [stdout]    |
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]   --> src/world/mod.rs:62:36
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> examples/tcp_world.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |       let tcp_input = world
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 67 | |         .tcp_component::<Connection, Data>("127.0.0.1:8080", Router {})
[INFO] [stdout]    | |_______________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]   --> src/world/mod.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `world` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> examples/tcp_world.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let tcp_input = world
[INFO] [stdout]    |                     ----- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 70 |     world.on_input(tcp_input);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     mutable borrow occurs here
[INFO] [stdout]    |     argument requires that `world` is borrowed for `'static`
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> examples/tcp_world.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |       let tcp_input = world
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 67 | |         .tcp_component::<Connection, Data>("127.0.0.1:8080", Router {})
[INFO] [stdout]    | |_______________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]   --> src/world/mod.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]   --> src/world/mod.rs:62:36
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `world` because it is borrowed
[INFO] [stdout]   --> examples/tcp_world.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut world = World::new().unwrap();
[INFO] [stdout]    |         --------- binding `world` declared here
[INFO] [stdout] 65 |
[INFO] [stdout] 66 |     let tcp_input = world
[INFO] [stdout]    |                     ----- borrow of `world` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 70 |     world.on_input(tcp_input);
[INFO] [stdout]    |     ------------------------- argument requires that `world` is borrowed for `'static`
[INFO] [stdout] 71 |
[INFO] [stdout] 72 |     world.block_until_completion();
[INFO] [stdout]    |     ^^^^^ move out of `world` occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> examples/tcp_world.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |       let tcp_input = world
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 67 | |         .tcp_component::<Connection, Data>("127.0.0.1:8080", Router {})
[INFO] [stdout]    | |_______________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]   --> src/world/mod.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]   --> src/world/mod.rs:62:36
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0502, E0505, E0597.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0502`.
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `world` does not live long enough
[INFO] [stdout]   --> examples/http_world.rs:88:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut world = World::new().unwrap();
[INFO] [stdout]    |         --------- binding `world` declared here
[INFO] [stdout] 87 |
[INFO] [stdout] 88 |     let tcp_input = world
[INFO] [stdout]    |                     ^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 92 |     world.on_input(tcp_input);
[INFO] [stdout]    |     ------------------------- argument requires that `world` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 97 | }
[INFO] [stdout]    | - `world` dropped here while still borrowed
[INFO] [stdout]    |
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]   --> src/world/mod.rs:62:36
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> examples/http_world.rs:88:21
[INFO] [stdout]    |
[INFO] [stdout] 88 |       let tcp_input = world
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 89 | |         .tcp_component::<Connection, Data>("127.0.0.1:8080", Router {})
[INFO] [stdout]    | |_______________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]   --> src/world/mod.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `world` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> examples/http_world.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let tcp_input = world
[INFO] [stdout]    |                     ----- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 92 |     world.on_input(tcp_input);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     mutable borrow occurs here
[INFO] [stdout]    |     argument requires that `world` is borrowed for `'static`
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> examples/http_world.rs:88:21
[INFO] [stdout]    |
[INFO] [stdout] 88 |       let tcp_input = world
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 89 | |         .tcp_component::<Connection, Data>("127.0.0.1:8080", Router {})
[INFO] [stdout]    | |_______________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]   --> src/world/mod.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]   --> src/world/mod.rs:62:36
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `world` because it is borrowed
[INFO] [stdout]   --> examples/http_world.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut world = World::new().unwrap();
[INFO] [stdout]    |         --------- binding `world` declared here
[INFO] [stdout] 87 |
[INFO] [stdout] 88 |     let tcp_input = world
[INFO] [stdout]    |                     ----- borrow of `world` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 92 |     world.on_input(tcp_input);
[INFO] [stdout]    |     ------------------------- argument requires that `world` is borrowed for `'static`
[INFO] [stdout] 93 |
[INFO] [stdout] 94 |     world.block_until_completion();
[INFO] [stdout]    |     ^^^^^ move out of `world` occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> examples/http_world.rs:88:21
[INFO] [stdout]    |
[INFO] [stdout] 88 |       let tcp_input = world
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 89 | |         .tcp_component::<Connection, Data>("127.0.0.1:8080", Router {})
[INFO] [stdout]    | |_______________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]   --> src/world/mod.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]   --> src/world/mod.rs:62:36
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0502, E0505, E0597.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0502`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tokactor` (example "tcp_world") due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `tokactor` (example "http_world") due to 3 previous errors
[INFO] [stdout] error[E0597]: `world` does not live long enough
[INFO] [stdout]    --> examples/stateful_tcp_world.rs:103:16
[INFO] [stdout]     |
[INFO] [stdout]  96 |     let mut world = World::new().unwrap();
[INFO] [stdout]     |         --------- binding `world` declared here
[INFO] [stdout] ...
[INFO] [stdout] 103 |     let tcp1 = world
[INFO] [stdout]     |                ^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 110 |     world.on_input(tcp1);
[INFO] [stdout]     |     -------------------- argument requires that `world` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 114 | }
[INFO] [stdout]     | - `world` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]    --> src/world/mod.rs:62:36
[INFO] [stdout]     |
[INFO] [stdout]  62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> examples/stateful_tcp_world.rs:103:16
[INFO] [stdout]     |
[INFO] [stdout] 103 |       let tcp1 = world
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 104 | |         .tcp_component::<Connection, Data>("127.0.0.1:8080", r1)
[INFO] [stdout]     | |________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]    --> src/world/mod.rs:52:26
[INFO] [stdout]     |
[INFO] [stdout]  52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `world` does not live long enough
[INFO] [stdout]    --> examples/stateful_tcp_world.rs:106:16
[INFO] [stdout]     |
[INFO] [stdout]  96 |     let mut world = World::new().unwrap();
[INFO] [stdout]     |         --------- binding `world` declared here
[INFO] [stdout] ...
[INFO] [stdout] 106 |     let tcp2 = world
[INFO] [stdout]     |                ^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 111 |     world.on_input(tcp2);
[INFO] [stdout]     |     -------------------- argument requires that `world` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 114 | }
[INFO] [stdout]     | - `world` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]    --> src/world/mod.rs:62:36
[INFO] [stdout]     |
[INFO] [stdout]  62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> examples/stateful_tcp_world.rs:106:16
[INFO] [stdout]     |
[INFO] [stdout] 106 |       let tcp2 = world
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 107 | |         .tcp_component::<Connection, Data>("127.0.0.1:8081", r2)
[INFO] [stdout]     | |________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]    --> src/world/mod.rs:52:26
[INFO] [stdout]     |
[INFO] [stdout]  52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `world` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> examples/stateful_tcp_world.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let tcp1 = world
[INFO] [stdout]     |                ----- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 110 |     world.on_input(tcp1);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     mutable borrow occurs here
[INFO] [stdout]     |     argument requires that `world` is borrowed for `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> examples/stateful_tcp_world.rs:103:16
[INFO] [stdout]     |
[INFO] [stdout] 103 |       let tcp1 = world
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 104 | |         .tcp_component::<Connection, Data>("127.0.0.1:8080", r1)
[INFO] [stdout]     | |________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]    --> src/world/mod.rs:52:26
[INFO] [stdout]     |
[INFO] [stdout]  52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]    --> src/world/mod.rs:62:36
[INFO] [stdout]     |
[INFO] [stdout]  62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `world` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> examples/stateful_tcp_world.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let tcp1 = world
[INFO] [stdout]     |                ----- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 110 |     world.on_input(tcp1);
[INFO] [stdout]     |     -------------------- argument requires that `world` is borrowed for `'static`
[INFO] [stdout] 111 |     world.on_input(tcp2);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> examples/stateful_tcp_world.rs:103:16
[INFO] [stdout]     |
[INFO] [stdout] 103 |       let tcp1 = world
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 104 | |         .tcp_component::<Connection, Data>("127.0.0.1:8080", r1)
[INFO] [stdout]     | |________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]    --> src/world/mod.rs:52:26
[INFO] [stdout]     |
[INFO] [stdout]  52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]    --> src/world/mod.rs:62:36
[INFO] [stdout]     |
[INFO] [stdout]  62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `world` because it is borrowed
[INFO] [stdout]    --> examples/stateful_tcp_world.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     let mut world = World::new().unwrap();
[INFO] [stdout]     |         --------- binding `world` declared here
[INFO] [stdout] ...
[INFO] [stdout] 103 |     let tcp1 = world
[INFO] [stdout]     |                ----- borrow of `world` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 110 |     world.on_input(tcp1);
[INFO] [stdout]     |     -------------------- argument requires that `world` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 113 |     world.block_until_completion();
[INFO] [stdout]     |     ^^^^^ move out of `world` occurs here
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> examples/stateful_tcp_world.rs:103:16
[INFO] [stdout]     |
[INFO] [stdout] 103 |       let tcp1 = world
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 104 | |         .tcp_component::<Connection, Data>("127.0.0.1:8080", r1)
[INFO] [stdout]     | |________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]    --> src/world/mod.rs:52:26
[INFO] [stdout]     |
[INFO] [stdout]  52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]    --> src/world/mod.rs:62:36
[INFO] [stdout]     |
[INFO] [stdout]  62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0502, E0505, E0597.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0502`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tokactor` (example "stateful_tcp_world") due to 5 previous errors
[INFO] [stdout] error[E0597]: `world` does not live long enough
[INFO] [stdout]    --> examples/multi_tcp_world.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let mut world = World::new().unwrap();
[INFO] [stdout]     |         --------- binding `world` declared here
[INFO] [stdout] 148 |
[INFO] [stdout] 149 |     let tcp_input = world
[INFO] [stdout]     |                     ^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 153 |     world.on_input(tcp_input);
[INFO] [stdout]     |     ------------------------- argument requires that `world` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 158 | }
[INFO] [stdout]     | - `world` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]    --> src/world/mod.rs:62:36
[INFO] [stdout]     |
[INFO] [stdout]  62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> examples/multi_tcp_world.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |       let tcp_input = world
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 150 | |         .tcp_component::<Connection, Data>("127.0.0.1:8080", Router::default())
[INFO] [stdout]     | |_______________________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]    --> src/world/mod.rs:52:26
[INFO] [stdout]     |
[INFO] [stdout]  52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `world` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> examples/multi_tcp_world.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let tcp_input = world
[INFO] [stdout]     |                     ----- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 153 |     world.on_input(tcp_input);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     mutable borrow occurs here
[INFO] [stdout]     |     argument requires that `world` is borrowed for `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> examples/multi_tcp_world.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |       let tcp_input = world
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 150 | |         .tcp_component::<Connection, Data>("127.0.0.1:8080", Router::default())
[INFO] [stdout]     | |_______________________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]    --> src/world/mod.rs:52:26
[INFO] [stdout]     |
[INFO] [stdout]  52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]    --> src/world/mod.rs:62:36
[INFO] [stdout]     |
[INFO] [stdout]  62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `world` because it is borrowed
[INFO] [stdout]    --> examples/multi_tcp_world.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let mut world = World::new().unwrap();
[INFO] [stdout]     |         --------- binding `world` declared here
[INFO] [stdout] 148 |
[INFO] [stdout] 149 |     let tcp_input = world
[INFO] [stdout]     |                     ----- borrow of `world` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 153 |     world.on_input(tcp_input);
[INFO] [stdout]     |     ------------------------- argument requires that `world` is borrowed for `'static`
[INFO] [stdout] 154 |
[INFO] [stdout] 155 |     world.block_until_completion();
[INFO] [stdout]     |     ^^^^^ move out of `world` occurs here
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> examples/multi_tcp_world.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |       let tcp_input = world
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 150 | |         .tcp_component::<Connection, Data>("127.0.0.1:8080", Router::default())
[INFO] [stdout]     | |_______________________________________________________________________________^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use</* Args */>`
[INFO] [stdout]    --> src/world/mod.rs:52:26
[INFO] [stdout]     |
[INFO] [stdout]  52 |     ) -> std::io::Result<impl Component>
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] note: requirement that the value outlives `'static` introduced here
[INFO] [stdout]    --> src/world/mod.rs:62:36
[INFO] [stdout]     |
[INFO] [stdout]  62 |     pub fn on_input<C: Component + 'static>(&mut self, mut component: C) {
[INFO] [stdout]     |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0502, E0505, E0597.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0502`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tokactor` (example "multi_tcp_world") due to 3 previous errors
[INFO] [stdout] warning: struct `AnonymousActor` is never constructed
[INFO] [stdout]  --> src/anonymous.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct AnonymousActor<In: Message, Out: Message, F: Fn(In) -> Out> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `DEBUG_KIND` is never used
[INFO] [stdout]    --> src/context.rs:496:15
[INFO] [stdout]     |
[INFO] [stdout] 495 |     trait DebugActor: Send + Sync + 'static {
[INFO] [stdout]     |           ---------- associated constant in this trait
[INFO] [stdout] 496 |         const DEBUG_KIND: &'static str;
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IntoNestedTuple` is never used
[INFO] [stdout]  --> src/single/tuple.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait IntoNestedTuple<Inner> {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Chained` is never constructed
[INFO] [stdout]   --> src/utils/workflow/mod.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct Chained<A, B> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c78820a80a2a053a01513d2c2f6cb0606ffb28a017099f4475bcc8d9fe0fe71c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c78820a80a2a053a01513d2c2f6cb0606ffb28a017099f4475bcc8d9fe0fe71c", kill_on_drop: false }`
[INFO] [stdout] c78820a80a2a053a01513d2c2f6cb0606ffb28a017099f4475bcc8d9fe0fe71c
